객체_프로토타입 메서드와 __proto__가 없는 객체
#
프로토타입 메서드와 proto가 없는 객체#
프로토타입 설정 방법__proto__
- 브라우저를 대상으로 개발하고 있다면 다소 구식이기 때문에 더는 사용하지 않는 것이 좋다.
Object.create(proto, [descriptors])
[[Prototype]]
이proto
를 참조하는 빈 객체를 만듦.
Object.getPrototypeOf(obj)
obj
의[[Prototype]]
을 반환
Object.setPrototypeOf(obj, proto)
obj
의[[Prototype]]
이proto
가 되도록 설정함.
- 프로토타입을 그때 그때 바꾸는 연산은 객체 프로퍼티 접근 관련 최적화를 망치기 때문에 매우 느리다.
#
'아주 단순한' 객체__proto__
- 객체에 key 로 사용할 수 없다.
- 객체의 프로퍼티가 아니라
Object.prototype
의 접근자 프로퍼티[[Prototype]]
을 가져오거나 설정합니다.
__proto__
를 키로 사용하는 트릭 Object.create(null)
- very plain, pure dictionary 객체
- 내장 메서드가 없다.